/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.gae.shared;
import java.io.Serializable;

import javax.jdo.annotations.Extension;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

/**
 *
 * @author Francois
 */
@PersistenceCapable
public class Utilisateur implements Serializable{

	@Override
	public String toString() {
		return "Utilisateur [idUtilisateur=" + idUtilisateur + ", nom=" + nom
				+ ", prenom=" + prenom + ", login=" + login + ", motDePasse="
				+ motDePasse + ", email=" + email + ", compte=" + compte + "]";
	}

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;
	//Etat de l utilisateur
	public static int INACTIF = 0;
	public static int ACTIF = 1;
	public static int ATTENTE_CONFIRMATION = 2;


	private String idUtilisateur;
	private String nom;
	private String prenom;
	private String login;
	private String motDePasse;
	private String email;
	private Compte compte;

	public Utilisateur(){
		
	}
	

	public Utilisateur(String nom, String prenom, String login, String motDePasse, String email, Compte compte) {
		this.nom = nom;
		this.prenom = prenom;
		this.login = login;
		this.motDePasse = motDePasse;
		this.email = email;
		this.compte = compte;
	}


	public Utilisateur(String nom, String prenom, String login, String motDePasse, String email) {
		this.nom = nom;
		this.prenom = prenom;
		this.login = login;
		this.motDePasse = motDePasse;
		this.email = email;
	}

	/**
	 * Get the value of email
	 *
	 * @return the value of email
	 */
	@Persistent
	public String getEmail() {
		return email;
	}

	/**
	 * Set the value of email
	 *
	 * @param email new value of email
	 */
	public void setEmail(String email) {
		this.email = email;
	}


	@Persistent(defaultFetchGroup = "true")
	public Compte getCompte() {
		return compte;
	}

	public void setCompte(Compte compte) {
		this.compte = compte;
	}

	/**
	 * Get the value of motDePasse
	 *
	 * @return the value of motDePasse
	 */
	@Persistent
	public String getMotDePasse() {
		return motDePasse;
	}

	/**
	 * Set the value of motDePasse
	 *
	 * @param motDePasse new value of motDePasse
	 */
	public void setMotDePasse(String motDePasse) {
		this.motDePasse = motDePasse;
	}

	/**
	 * Get the value of login
	 *
	 * @return the value of login
	 */
	@Persistent
	public String getLogin() {
		return login;
	}

	/**
	 * Set the value of login
	 *
	 * @param login new value of login
	 */
	public void setLogin(String login) {
		this.login = login;
	}


	/**
	 * Get the value of idUtilisateur
	 *
	 * @return the value of idUtilisateur
	 */
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    @Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
	public String getIdUtilisateur() {
		return idUtilisateur;
	}

	/**
	 * Set the value of idUtilisateur
	 *
	 * @param idUtilisateur new value of idUtilisateur
	 */
	public void setIdUtilisateur(String idUtilisateur) {
		this.idUtilisateur = idUtilisateur;
	}

	/**
	 * Get the value of prenom
	 *
	 * @return the value of prenom
	 */
	@Persistent
	public String getPrenom() {
		return prenom;
	}

	/**
	 * Set the value of prenom
	 *
	 * @param prenom new value of prenom
	 */
	public void setPrenom(String prenom) {
		this.prenom = prenom;
	}

	/**
	 * Get the value of nom
	 *
	 * @return the value of nom
	 */
	@Persistent
	public String getNom() {
		return nom;
	}

	/**
	 * Set the value of nom
	 *
	 * @param nom new value of nom
	 */
	public void setNom(String nom) {
		this.nom = nom;
	}
}

